模板方法模式

设计原则 八:

好莱坞原则,别调用(打电话给)我们,我们会调用(打电话给)你

即高层组件对低层组件的调用方式。

定义模板方法模式

在一个方法中定义一个算法的骨架,而将一些步奏延迟到子类中去。模板方法模式使得子类可在不改变算法结构的前提下,重新定义算法中的某些步奏。

类图

例图

实现代码

此处的 hook() 方法,钩子方法是一种被声明在抽象类中的方法,但只有默认的实现或者空的。钩子的存在,让子类有能力对算法的不同点进行挂钩,是否挂钩由子类自行决定。